﻿//using MongoDB.Driver;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace SX.Utils
//{
//    public class MongoDBHelper
//    {
//        private static string _url = "";
//        private static string _db = "";

//        static MongoDBHelper()
//        {
//            _url = ConfigHelper.GetApp("MongoDbUrl4Log");
//            _db = ConfigHelper.GetApp("LogDBName");
//        }

//        public static void SetUrl(string url)
//        {
//            _url = url;
//        }

//        public static void SetDB(string db)
//        {
//            _db = db;
//        }

//        public static MongoClient GetClient(string url = "")
//        {
//            if (string.IsNullOrEmpty(url))
//            {
//                url = _url;
//            }
//            var client = new MongoClient(url);
//            //client.GetDatabase("")
//            return client;
//        }

//        /// <summary>
//        /// 获取Log DB
//        /// </summary>
//        /// <param name="url"></param>
//        /// <param name="db"></param>
//        /// <returns></returns>
//        public static IMongoDatabase GetDatabase(string url = "", string db = "")
//        {
//            var client = GetClient(url);
//            if (string.IsNullOrEmpty(db))
//            {
//                db = _db;
//            }
//            return client.GetDatabase(db);
//        }

//        public static void AddLog<T>(string collectionName, T log)
//        {

//            var db = MongoDBHelper.GetDatabase();
//            var actionLogCollection = db.GetCollection<T>(collectionName);
//            actionLogCollection.InsertOne(log);
//        }

//        public static void AddLogAsync<T>(string collectionName, T log)
//        {

//            var db = MongoDBHelper.GetDatabase();
//            var actionLogCollection = db.GetCollection<T>(collectionName);
//            actionLogCollection.InsertOneAsync(log);
//        }

//        public static void AddLogs<T>(string collectionName, List<T> logs)
//        {

//            var db = MongoDBHelper.GetDatabase();
//            var actionLogCollection = db.GetCollection<T>(collectionName);
//            actionLogCollection.InsertMany(logs);
//        }

//        public static void AddLogsAsync<T>(string collectionName, List<T> logs)
//        {

//            var db = MongoDBHelper.GetDatabase();
//            var actionLogCollection = db.GetCollection<T>(collectionName);
//            actionLogCollection.InsertManyAsync(logs);
//        } 
//    }
//}
